package cn.tedu.clyback.role.service;


import cn.tedu.clyback.role.pojo.dto.InsertPermissionParam;
import cn.tedu.clyback.role.pojo.dto.RoleSaveParam;
import cn.tedu.clyback.role.pojo.dto.RoleSelectParam;
import cn.tedu.clyback.role.pojo.vo.RoleVO;
import cn.tedu.clyback.role.pojo.vo.SelectUserByRoleIdVo;

import java.util.List;

public interface RoleService {

    List<RoleVO> selectRole(RoleSelectParam roleSelectParam);

    void saveRole(RoleSaveParam roleSaveParam);

    void updateStatus(Integer id, String status);

    void deleteRole(Integer id);

    List<SelectUserByRoleIdVo> selectUserByRoleId(Integer roleId);


    void deleteUserRole(Integer roleId, Long userId);

    List<SelectUserByRoleIdVo> selectUser(Integer roleId);

    void addUserRole(Integer roleId, Long userId);


    List<RoleVO> selectUserRole(Long userId);

    void removeUserRole(Integer roleId, Long userId);

    List<RoleVO> selectUnAddUserRole(Long userId);
}